package anonymouschat.utils;

import java.security.SecureRandom;

/**
 * Store a set of constant variables for anonymous chat.
 * 
 * @author hb
 * 
 */
public class Constants {
	public static final String SERVER_FOLDER = "ServerData";
	public static final String CLIENT_FOLDER = "ClientData";
	public static final int numServerHops = 3; // Number of servers a client
												// message hops through before
												// it reaches destination server
	public static final String SYMMETRIC_CIPHER_TYPE = "AES/CBC/PKCS5PADDING";
	public static final String ASYMMETRIC_CYPHER_TYPE = "RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING";

	public static final String PREV_USERNAME_PASSWORD_FILE_NAME = CLIENT_FOLDER
			+ "/" + "USERNAMES_PASSWORDS";
	public static final String ID_FILE_NAME_PREFIX = CLIENT_FOLDER + "/"
			+ "ID_";
	public static final String CHAT_HIST_FILE_NAME_MIDDLE = "_LOG_";
	public static final String NICKLIST_FILE_NAME_PREFIX = CLIENT_FOLDER + "/"
			+ "NICK_";
	public static final int UPSTREAM = 100;
	public static final int DOWNSTREAM = 500;
	public static final Long USER_DOWNSTREAM = -50L;
	public static final boolean SYMMETRIC_ENCRYPTION = false;
	public static final boolean ASYMMETRIC_ENCRYPTION = true;
	public static final String AUDIT_FILENAME = "Logs/LOCAL_AUDIT_FILE.txt";

	public static SecureRandom secureRandom = new SecureRandom();
	// Set to false to turn off debugging
	public static final boolean USE_DEBUG_MODE = true;
	public static final int MAX_ENC_SEGMENT_BYTES = 317;
}
